package com.ude.pim.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 
 * </p>
 *
 * @author yb
 * @since 2023-08-25
 */
@Getter
@Setter
@TableName("pim_case_sub")
public class CaseSub implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 专案子流程关联关系id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 专案id
     */
    @TableField("case_id")
    private Long caseId;

    /**
     * 子流程id
     */
    @TableField("sub_id")
    private Integer subId;

    /**
     * 子任务编号，和专案编号对齐
     */
    @TableField("number")
    private String number;

    /**
     * 难度
     */
    @TableField("level")
    private Integer level;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 开始时间
     */
    @TableField("start_time")
    private LocalDateTime startTime;

    /**
     * 计划天数，默认按照难度+子流程自动生成，但是有时候需要修改计划天数，所以成为一个新的属性
     */
    @TableField("plan_days")
    private Integer planDays;

    /**
     * 实际完成时间
     */
    @TableField("finish_time")
    private LocalDateTime finishTime;

    /**
     * 非主动拖延，由于外部原因不得不延误的时间
     */
    @TableField("unforced_days")
    private Integer unforcedDays;

    /**
     * 申请延误时间
     */
    @TableField("apply_delay")
    private Integer applyDelay;

    /**
     * 逻辑删除，0正常，1删除
     */
    @TableField("deleted")
    @TableLogic
    private Integer deleted;
}
